// This example shows how to obtain information about OPC UA servers available on the network. // The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery URLs. // // Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . using System; using OpcLabs.EasyOpc.UA; using OpcLabs.EasyOpc.UA.Discovery; using OpcLabs.EasyOpc.UA.OperationModel; namespace UADocExamples._EasyUAClient { partial class DiscoverNetworkServers { public static void Hierarchical() { // Instantiate the client object var client = new EasyUAClient(); // Obtain collection of application elements UADiscoveryElementCollection discoveryElementCollection; try { discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com", flat:false); } catch (UAException uaException) { Console.WriteLine("*** Failure: {0}", uaException.GetBaseException().Message); return; } // Display results foreach (UADiscoveryElement discoveryElement in discoveryElementCollection) { Console.WriteLine(); Console.WriteLine("Server name: {0}", discoveryElement.ServerName); Console.WriteLine("Discovery URI strings:"); foreach (string discoveryUriString in discoveryElement.DiscoveryUriStrings) Console.WriteLine(" {0}", discoveryUriString); Console.WriteLine("Server capabilities: {0}", discoveryElement.ServerCapabilities); } } } }
# This example shows how to obtain information about OPC UA servers available on the network. # The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery # URLs. # # Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . # OPC client and subscriber examples in Python on GitHub: https://github.com/OPCLabs/Examples-QuickOPC-Python . # The QuickOPC package is needed. Install it using "pip install opclabs_quickopc". import opclabs_quickopc # Import .NET namespaces. from OpcLabs.EasyOpc.UA import * from OpcLabs.EasyOpc.UA.Discovery import * from OpcLabs.EasyOpc.UA.OperationModel import * # Instantiate the client object. client = EasyUAClient() # Obtain collection of application elements. try: discoveryElementCollection = IEasyUAClientExtension.DiscoverNetworkServers(client, 'opcua.demo-this.com', False) # flat=False except UAException as uaException: print('*** Failure: ' + uaException.GetBaseException().Message) exit() # Display results. for discoveryElement in discoveryElementCollection: print() print('Server name: ', discoveryElement.ServerName, sep='') print('Discovery URI strings:') for discoveryUriString in discoveryElement.DiscoveryUriStrings: print(' ', discoveryUriString, sep='') print('Server capabilities: ', discoveryElement.ServerCapabilities, sep='') print() print('Finished.')
' This example shows how to obtain information about OPC UA servers available on the network. ' The result is hierarchical, i.e. each server is returned in one element, and the element contains all its discovery URLs. ' ' Find all latest examples here: https://opclabs.doc-that.com/files/onlinedocs/OPCLabs-OpcStudio/Latest/examples.html . Imports OpcLabs.EasyOpc.UA Imports OpcLabs.EasyOpc.UA.Discovery Imports OpcLabs.EasyOpc.UA.OperationModel Namespace _EasyUAClient Partial Friend Class DiscoverNetworkServers Public Shared Sub Hierarchical() ' Instantiate the client object Dim client = New EasyUAClient() ' Obtain collection of application elements Dim discoveryElementCollection As UADiscoveryElementCollection Try discoveryElementCollection = client.DiscoverNetworkServers("opcua.demo-this.com", flat:=False) Catch uaException As UAException Console.WriteLine("*** Failure: {0}", uaException.GetBaseException.Message) Exit Sub End Try ' Display results For Each discoveryElement As UADiscoveryElement In discoveryElementCollection Console.WriteLine() Console.WriteLine("Server name: {0}", discoveryElement.ServerName) Console.WriteLine("Discovery URI strings:") For Each discoveryUriString As String In discoveryElement.DiscoveryUriStrings Console.WriteLine(" {0}", discoveryUriString) Next discoveryUriString Console.WriteLine("Server capabilities: {0}", discoveryElement.ServerCapabilities) Next discoveryElement End Sub End Class End Namespace
Copyright © 2004-2024 CODE Consulting and Development, s.r.o., Plzen. All rights reserved. Web page: www.opclabs.com
Send Documentation Feedback. Resources: Knowledge Base, Product Downloads. Technical support: Online Forums, FAQ.Missing some example? Ask us for it on our Online Forums! You do not have to own a commercial license in order to use Online Forums, and we reply to every post.